;**********************************************************
;  Microchip Enhanced PIC16F1xxx C Compiler (CC16E), v1.00
;  Sun Jul 11 09:37:12 2021
;**********************************************************

	.device	"pic16e"


	.segment	CODE2 (REL) foo:21
foo_$_n:	.equ	foo_$data$+0
foo_$_m:	.equ	foo_$data$+1
foo_$1_a:	.equ	foo_$data$+2
foo_$2_b:	.equ	foo_$data$+3
foo_$3_c:	.equ	foo_$data$+4
foo_$4_ap:	.equ	foo_$data$+5
foo_$5_bp:	.equ	foo_$data$+7
foo_$6_cp:	.equ	foo_$data$+9
foo_$7_x:	.equ	foo_$data$+11
foo_$8_y:	.equ	foo_$data$+15
foo_$9_lp:	.equ	foo_$data$+19
foo::
	.bsel	foo_$data$
	moviw	INDF1++
	movwf	foo_$data$+1
	moviw	INDF1++
	movwf	foo_$data$+0
; :: mul.c #6: x = n * m;
	movf	foo_$_n, W
	movwf	112
	movf	foo_$_m, W
	.psel	foo, _mul8
	call	_mul8
	movf	112, W
	movwf	foo_$7_x
	movf	113, W
	movwf	foo_$7_x+1
	clrf	foo_$7_x+2
	clrf	foo_$7_x+3
; :: mul.c #7: x = y * n;
	movf	foo_$8_y, W
	movwf	foo_$7_x
	movf	foo_$8_y+1, W
	movwf	foo_$7_x+1
	movf	foo_$8_y+2, W
	movwf	foo_$7_x+2
	movf	foo_$8_y+3, W
	movwf	foo_$7_x+3
	movf	foo_$_n, W
	movwi	--INDF1
	movlw	0
	movwi	--INDF1
	movwi	--INDF1
	movwi	--INDF1
	movlw	(foo_$7_x)
	movwf	FSR0L
	movlw	(foo_$7_x)>>8
	movwf	FSR0H
	.psel	_mul8, _mul32indf
	call	_mul32indf
; :: mul.c #8: a = b & c;
	movf	foo_$2_b, W
	andwf	foo_$3_c, W
	movwf	foo_$1_a
; :: mul.c #9: *ap = *bp | *cp;
	movf	foo_$5_bp, W
	movwf	FSR0L
	movf	foo_$5_bp+1, W
	movwf	FSR0H
	moviw	0[INDF0]
	movwf	0x70
	movf	foo_$6_cp, W
	movwf	FSR0L
	movf	foo_$6_cp+1, W
	movwf	FSR0H
	moviw	0[INDF0]
	iorwf	0x70, F
	movf	foo_$4_ap, W
	movwf	FSR0L
	movf	foo_$4_ap+1, W
	movwf	FSR0H
	movf	0x70, W
	movwi	0[INDF0]
; :: mul.c #11: x = a | *lp;
	movf	foo_$9_lp, W
	movwf	FSR0L
	movf	foo_$9_lp+1, W
	movwf	FSR0H
	movf	foo_$1_a, W
	iorwf	INDF0, W
	movwf	foo_$7_x
	addfsr	INDF0, 1
	movf	INDF0, W
	movwf	foo_$7_x+1
	clrf	foo_$7_x+2
	clrf	foo_$7_x+3
	.psel	_mul32indf, foo
	return
; function(s) called::
	.fcall	foo, _mul32indf
	.fcall	foo, _mul8

	.end
